package com.yxh.www.author.service;

import com.yxh.www.author.domain.SmRoleResourceRelation;
import com.yxh.www.common.result.Result;
import com.yxh.www.mysql.base.BaseService;

/**
 * <p>
 * 系统角色资源关系 服务类
 * </p>
 *
 * @author Yangxiaohui
 * @since 2020-05-09
 */
public interface SmRoleResourceRelationService extends BaseService<SmRoleResourceRelation> {
    /**
     * 新增角色资源关系
     *
     * @param roleId      角色ID
     * @param resourceIds 资源ID集合
     * @return 统一响应 {@link Result}
     */
    Result<Object> addSmRoleResourceRelation(String roleId, String[] resourceIds);

    /**
     * 根据角色资源关系ID删除关系
     *
     * @param ids 关系ID集合
     * @return 统一响应 {@link Result}
     */
    Result<Object> removeSmRoleResourceRelation(String[] ids);

    /**
     * 根据角色ID删除关系
     *
     * @param roleId 角色ID
     * @return 统一响应 {@link Result}
     */
    Result<Object> removeSmRoleResourceRelationByRoleId(String roleId);

    /**
     * 根据资源ID删除关系
     *
     * @param resourceId 资源ID
     * @return 统一响应 {@link Result}
     */
    Result<Object> removeSmRoleResourceRelationByResourceId(String resourceId);

    /**
     * 根据角色ID资源ID删除关系
     *
     * @param roleId     角色ID
     * @param resourceId 资源ID
     * @return 统一响应 {@link Result}
     */
    Result<Object> removeSmRoleResourceRelationByRoleIdAndResourceId(String roleId, String resourceId);
}
